package com.yuyou.tas.report.service;

import com.yuyou.tas.service.api.report.dto.*;
import com.yuyou.tas.service.api.report.entity.ExamModelReport;
import com.yuyou.tas.util.bean.Pagination;

import java.util.List;

public interface IStudentReportService {

	/**
	 * 学生报告列表总数
	 * @param queryPgn
	 * @return
	 */
    int findReportStudentCount(Pagination<ReportStudentDTO> queryPgn);
    
    /**
     * 学生报告列表分页
     * @param queryPgn
     * @return
     */
    List<ReportStudentDTO> findReportStudentPageList(Pagination<ReportStudentDTO> queryPgn);
    
    /**
     * 01总体概况
     * @param examModelReportId
     * @return
     */
    ReportStudentDTO reportInfo(Long examModelReportId,boolean needRank);
    
    /**
     * 02成绩整体情况
     * @param examModelReportId
     * @return
     */
    ReportScoreDTO  reportScore(Long examModelReportId);
	
    /**
     * 03难易度情况
     * @param reportId
     * @return
     */
    List<ReportHardDTO> reportHard(Long reportId);
    
    /**
     * 04各试题得分情况
     * @param reportId
     * @return
     */
    ReportQuesDTO reportQues(Long reportId);
    
    /**
     * 05知识得分情况分析
     * @param studentId
     * @param examModelId
     * @param lessonClassId
     * @return
     */
    ReportKnow reportKnow(Long studentId, Long examModelId, Long lessonClassId , ExamModelReport report);

    /**
     * 05知识得分情况分析(文综)
     * @param studentId
     * @param examModelId
     * @param lessonClassId
     * @param report
     * @return
     */
    ReportKnowI reportKnowI(Long studentId, Long examModelId, Long lessonClassId , ExamModelReport report);
    
}
